home *** CD-ROM | disk | FTP | other *** search
/ PC-SIG Library 8 / PC-SIG Library CD-ROM (8th Edition) (1990-04).iso / 201_300 / disk0204 / filecopy.bas < prev    next >
Encoding:
BASIC Source File  |  1980-01-01  |  7.9 KB  |  136 lines

  1.  
  2.  
  3. 5       '**File Copy by Webb B. Blackman,Jr. --28 March 1982 **
  4. 7       CLS:KEY OFF: GOTO 63
  5. 9       REM**SUBROUTINE FOR STRINGS**
  6. 11      A% = 1:GOTO 17
  7. 13      REM**SUBROUTINE FOR NUMBERS**
  8. 15      A%=0
  9. 17      Y% = CSRLIN:X%=1+POS(0):TT$="":TTA$="":I%=0
  10. 19      T$ = INKEY$:IF T$="" THEN 19
  11. 21      IF T$ =CHR$(13) THEN IF A%=0 THEN 41 ELSE 39
  12. 23      IF T$ =CHR$(8) THEN 33
  13. 25      IF T$ =CHR$(0)+CHR$(75) THEN 33
  14. 27      IF T$=CHR$(44) THEN TTA$=TTA$+T$:TT$=TT$+CHR$(32):GOTO 31
  15. 29      TT$ =TT$ + T$:TTA$=TTA$ + T$
  16. 31      I%=I%+1:LOCATE Y%,X%:PRINT TTA$:GOTO 19
  17. 33      I% = I% -1:IF I% < 0 THEN I%=1
  18. 35      TTA$ = MID$(TTA$,1,I%):TT$ = MID$(TT$,1,I%)
  19. 37      LOCATE Y%,(X%+I%):PRINT " ":GOTO 19
  20. 39      DAT0$ = TTA$:RETURN
  21. 41      DAT0# = VAL(TT$):RETURN
  22. 43     '**BOX SUB**
  23. 45     CLS:LOCATE 2,2,0:PRINT CHR$(201)+STRING$(75,205)+CHR$(187);
  24. 47     FOR I%=1 TO 20:LOCATE 2+I%,2:PRINT CHR$(186):LOCATE 2+I%,78:PRINT CHR$(         186);:NEXT
  25. 49     LOCATE 23,2,0:PRINT CHR$(200)+STRING$(75,205)+CHR$(188);
  26. 51     LOCATE 24,70:PRINT "WBB-82-" P%;:P%=P%+1:IF P%=99 THEN P%=1
  27. 53     RETURN
  28. 63      '**TITLE BOX**
  29. 65      GOSUB 43
  30. 79      LOCATE 5,31:PRINT "<<< File Copy >>>"
  31. 81      LOCATE 12,30:PRINT "Webb B. Blackman,Jr."
  32. 83      LOCATE 17,32:PRINT "March 28, 1982"
  33. 85      LOCATE 20,34:PRINT "Version 1.0"
  34. 87      LOCATE 23,25,0:COLOR 16,7:PRINT "Press Control Bar To Continue";
  35. 89      T$=INKEY$:IF T$="" THEN 89 ELSE IF T$=CHR$(32) THEN COLOR 7,0:CLS               ELSE 87
  36. 91      GOTO 111
  37. 93      '**Page Heading***
  38. 95      IF PAGENUM <> 0 THEN LPRINT CHR$(12);
  39. 99      ON ERROR GOTO 293
  40. 100     PAGENUM = PAGENUM + 1
  41. 101     LPRINT
  42. 103     LPRINT:LPRINT TAB(5);CHR$(14);FIL$;".";EXT$;CHR$(20);
  43. 105     LPRINT "--printed on ";DATE$;" at ";TIME$;"--Page";PAGENUM
  44. 107     LPRINT:LPRINT
  45. 109     RETURN
  46. 111     '****  Filecopy  ******
  47. 113     '
  48. 115     '****************************************************
  49. 117     '**  A program to provide a paginated listing of   **
  50. 119     '**  Text Files using the IBM 80 CPS Printer.      **
  51. 121     '****************************************************
  52. 123     GOSUB 43:LOCATE 3,27,0:COLOR 16,7,0:PRINT "<<< Filecopy Selection >>>"          :COLOR 7,0,0
  53. 125     LOCATE 6,5,0:PRINT "Selection:"
  54. 127     LOCATE 8,10,0:COLOR 16,7,0:PRINT "S";:COLOR 7,0,0:PRINT "elect File,";:         COLOR 16,7,0:PRINT "R";:COLOR 7,0,0:PRINT "eset Printer,";:COLOR 16,7,0         :PRINT "P";:COLOR 7,0,0:PRINT "rint File,";:COLOR 16,7,0:PRINT "E";
  55. 129     COLOR 7,0,0:PRINT "nd :  ";:COLOR 0,7,0:PRINT "   ";:LOCATE 8,54,0:             GOSUB 9:SELECT$=DAT0$:COLOR 7,0,0
  56. 131     SL$ = MID$(SELECT$,1,1)
  57. 133     IF SL$<>"S" AND SL$<>"s" AND SL$<>"R" AND SL$<>"r" AND SL$<>"P" AND SL$         <>"p" AND SL$<>"E" AND SL$<>"e" THEN 125
  58. 135     IF SL$="S" OR SL$="s" THEN GOSUB 217:GOTO 123
  59. 137     IF SL$="R" OR SL$="r" THEN GOSUB 249:GOTO 123
  60. 139     IF SL$="E" OR SL$="e" THEN CLS:END
  61. 141     '**Printing of File
  62. 143     '*****************************************************
  63. 145     '** This section of program sets the printer speci- **
  64. 147     '** fications and prints a listing of the desired   **
  65. 149     '** Text File.                                      **
  66. 151     '*****************************************************
  67. 153     GOSUB 43:LOCATE 3,27,0:COLOR 16,7,0:PRINT "<<< Filecopy Printing >>>":          COLOR 7,0,0
  68. 155     LOCATE 6,10,0:PRINT "1. Adjust the paper in the printer so that"
  69. 157     LOCATE 7,10,0:PRINT "   the perforations are at the paper bail."
  70. 159     LOCATE 9,10,0:PRINT "2. Put the printer ONLINE at this time."
  71. 161     LOCATE 11,10,0:PRINT "3. Press the ESC key to abort printing of file."
  72. 165     LOCATE 23,25,0:COLOR 16,7:PRINT "Press Control Bar To Continue";
  73. 167     T$=INKEY$:IF T$=""THEN 167 ELSE IF T$ = CHR$(32) THEN COLOR 7,0,0:CLS           ELSE 165
  74. 169     GOSUB 43:LOCATE 3,28,0:COLOR 16,7,0:PRINT "<<< Filecopy Listing >>>"            :COLOR 7,0,0
  75. 171     LOCATE 8,10,0:COLOR 23,0,0:PRINT " Press the ESC key to abort printing.
  76. 173     LPRINT CHR$(18);
  77. 175     LPRINT CHR$(20);
  78. 177     LPRINT CHR$(27)+"F";
  79. 179     LPRINT CHR$(27)+"H";
  80. 181     IF TYP$="C" OR TYP$="c" THEN LPRINT CHR$(15);
  81. 183     IF DWP$="Y" OR DYP$="y" THEN LPRINT CHR$(14);
  82. 185     IF EMP$="Y" OR EMP$="y" THEN LPRINT CHR$(27)+"E";
  83. 187     IF DSP$="Y" OR DSP$="y" THEN LPRINT CHR$(27)+"G";
  84. 189     WIDTH "LPT1:",PWIDTH
  85. 191     PAGENUM = 0
  86. 193     LINENUM = 1
  87. 195     IF EOF(1) THEN 211
  88. 197     LINE INPUT #1,L$
  89. 199     IF LINENUM = 1 THEN GOSUB 93
  90. 201     LPRINT L$
  91. 203     IF INKEY$ = CHR$(27) THEN CLOSE #1:COLOR 7,0,0:GOTO 111
  92. 205     LINENUM = LINENUM + INT((LEN(L$)+79)/80)
  93. 207     IF LINENUM > 54 THEN LINENUM = 1
  94. 209     GOTO 195
  95. 211     CLOSE #1
  96. 213     LPRINT CHR$(12)
  97. 215     GOTO 111
  98. 217     'Select File
  99. 219     '***********************************************
  100. 221     '** This routine obtains the necessary infor- **
  101. 223     '** mation needed to open the Text File for   **
  102. 225     '** obtaining a listing.                      **
  103. 227     '***********************************************
  104. 229     GOSUB 43:LOCATE 3,28,0:COLOR 16,7,0:PRINT "<<< File Entry Mode >>>":            COLOR 7,0,0
  105. 231     LOCATE 6,5,0:PRINT "Drive (A or B)       :";:COLOR 0,7,0:PRINT "   "            ;:LOCATE 6,27,0:GOSUB 9:COLOR 7,0,0:DRV$=MID$(DAT0$,1,1)
  106. 233     IF DRV$ <> "A" AND DRV$ <>"B" AND DRV$<>"b" AND DRV$<>"a" THEN 231
  107. 235     LOCATE 8,5,0:PRINT "Enter File Name      :";:COLOR 0,7,0:PRINT                  "        ";:LOCATE 8,27,0:GOSUB 9:COLOR 7,0,0:FIL$ = DAT0$
  108. 237     LOCATE 10,5,0:PRINT "Enter File Extension :";:COLOR 0,7,0:PRINT "    "          ;:LOCATE 10,27,0:GOSUB 9:COLOR 7,0,0:EXT$ = DAT0$
  109. 239     OPEN "I",1,DRV$+":"+FIL$+"."+EXT$
  110. 243     LOCATE 23,25:COLOR 16,7:PRINT "Press Control Bar To Continue"
  111. 245     T$=INKEY$:IF T$=""THEN 245 ELSE IF T$ = CHR$(32) THEN COLOR 7,0,0:CLS:          RETURN ELSE 243
  112. 247     '************************************************
  113. 249     'Reset IBM Printer
  114. 251     '***********************************************
  115. 253     '** This routine obtains the necessary infor- **
  116. 255     '** mation needed to set up the IBM Printer  **
  117. 257     '** with the desired enhancements.            **
  118. 259     '***********************************************
  119. 261     GOSUB 43:LOCATE 3,27,0:COLOR 16,7,0:PRINT "<<< Reset IBM Printer >>>":          COLOR 7,0,0
  120. 263     LOCATE 6,5,0:PRINT "IBM Printer Enhancements are:"
  121. 265     LOCATE 7,10,0:COLOR 16,7,0:PRINT "N";:COLOR 7,0,0:PRINT "ormal or ";:           COLOR 16,7,0:PRINT "C";:COLOR 7,0,0:PRINT "ompressed Print ?  ";:COLOR          0,7,0:PRINT "   ";:LOCATE 7,40,0:GOSUB 9:TYP$=DAT0$:COLOR 7,0,0
  122. 267     IF TYP$ <>"N" AND TYP$<>"n" AND TYP$<>"C" AND TYP$<>"c" THEN 265
  123. 269     IF TYP$="C" OR TYP$="c" THEN 275
  124. 271     LOCATE 9,10,0:PRINT "Emphasized Print    ?  Y/N ";:COLOR 0,7,0:PRINT            "   ";:LOCATE 9,37,0:GOSUB 9:EMP$=DAT0$:COLOR 7,0,0
  125. 273     IF EMP$<>"N" AND EMP$<>"n" AND EMP$<>"Y" AND EMP$<>"y" THEN 271
  126. 275     LOCATE 11,10,0:PRINT "Double Width Print  ?  Y/N ";:COLOR 0,7,0:PRINT           "   ";:LOCATE 11,37,0:GOSUB 9:DWP$=DAT0$:COLOR 7,0,0
  127. 277     IF DWP$<>"N" AND DWP$<>"n" AND DWP$<>"Y" AND DWP$<>"y" THEN 275
  128. 279     LOCATE 13,10,0:PRINT "Double Strike Print ?  Y/N ";:COLOR 0,7,0:PRINT           "   ";:LOCATE 13,37,0:GOSUB 9:DSP$=DAT0$:COLOR 7,0,0
  129. 281     IF DSP$<>"N" AND DSP$<>"n" AND DSP$<>"Y" AND DSP$<>"y" THEN 279
  130. 283     LOCATE 15,5,0:PRINT "Enter the desired line width:  ";:COLOR 0,7,0:             PRINT "    ";:LOCATE 15,36,0:GOSUB 13:PWIDTH=DAT0#:COLOR 7,0,0
  131. 285     IF PWIDTH < 1 OR PWIDTH > 132 THEN 283
  132. 287     DEF SEG: POKE 106,0
  133. 289     LOCATE 23,25:COLOR 16,7:PRINT "Press Control Bar To Continue"
  134. 291     T$=INKEY$:IF T$=""THEN 291 ELSE IF T$ = CHR$(32) THEN COLOR 7,0,0:CLS:          RETURN ELSE 287
  135. 293     IF ERR = 24 THEN FOR TM%=1 TO 20000:NEXT:RESUME NEXT
  136.  T$ = CHR$(32) THEN COLOR 7,0,0:CLS:          RETURN ELSE 287
  137. 293     IF ERR = 24 THEN